/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package lector;

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;

/**
 *
 * @author javaee
 */
public class Alumno {
    //Variable static

    public static SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    //Variables de instancia
    private String carnet;
    private String nombres;
    private String apellidos;
    private String correo;
    private Date fechanac;

    //construtores
    public Alumno() {
    }

    public Alumno(String carnet) {
        this.carnet = carnet;
    }

    public Alumno(String carnet, String nombres, String apellidos, String correo, Date fechanac) {
        this.carnet = carnet;
        this.nombres = nombres;
        this.apellidos = apellidos;
        this.correo = correo;
        this.fechanac = fechanac;
    }

    //Getters y Setters
    public String getCarnet() {
        return carnet;
    }

    public void setCarnet(String carnet) {
        this.carnet = carnet;
    }

    public String getNombres() {
        return nombres;
    }

    public void setNombres(String nombres) {
        this.nombres = nombres;
    }

    public String getApellidos() {
        return apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }

    public String getCorreo() {
        return correo;
    }

    public void setCorreo(String correo) {
        this.correo = correo;
    }

    public Date getFechanac() {
        return fechanac;
    }

    public void setFechanac(Date fechanac) {
        this.fechanac = fechanac;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 97 * hash + (this.carnet != null ? this.carnet.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Alumno other = (Alumno) obj;
        if ((this.carnet == null) ? (other.carnet != null) : !this.carnet.equals(other.carnet)) {
            return false;
        }
        return true;
    }

    private String generarTexto() {
        StringBuilder sb = new StringBuilder();

        sb.append("\tcarnet: ").append(carnet).append("\n");
        sb.append("\tnombres:").append(nombres).append("\n");
        sb.append("\tapellidos:").append(apellidos).append("\n");
        sb.append("\tcorreo:").append(correo).append("\n");
        sb.append("\tFecha Nacimiento:").append(sdf.format(fechanac)).append("\n");
        return sb.toString();
    }

    @Override
    public String toString() {
        //return "Alumno{" + "carnet=" + carnet + ", nombres=" + nombres + ", apellidos=" + apellidos + ", correo=" + correo + ", fechanac=" + fechanac + '}';
        return generarTexto();
    }

    public void imprimirInfoAlumno() {

        System.out.println(generarTexto());
    }
    
    public void guardarInfoAlumno( String archivo){
        FileOutputStream fptr;
        DataOutputStream f;
        //FileInputStream fptr;
        //DataInputStream f;
        try {
            // fptr = new FileInputStream("Ejemplo12.java");
            //f = new DataInputStream(fptr);
            fptr = new FileOutputStream(archivo);
            f= new DataOutputStream(fptr);
                //linea = f.readLine();
            f.writeBytes(this.carnet+"\n");
            f.writeBytes(this.nombres+"\n");
            f.writeBytes(this.apellidos+"\n");
            f.writeBytes(this.correo+"\n");
            f.writeBytes(this.fechanac.toString()+"\n");
            fptr.close();
        }
        catch (IOException e) {
          JOptionPane.showMessageDialog(null, "Error al crear el archivo");
        }
        
    
    }
   
}
